package com.smsc.headend.task.engine.service.task;

import com.baomidou.mybatisplus.extension.service.IService;
import com.smsc.headend.module.task.dto.SubTaskGroup;
import com.smsc.headend.module.task.dto.SubTaskStatusDto;
import com.smsc.headend.module.task.dto.Task;
import com.smsc.headend.module.task.entity.DeviceTaskSub;

import java.util.List;

public interface DeviceTaskSubService extends IService<DeviceTaskSub> {
    void addTaskSub(String deviceTaskId, SubTaskGroup subTaskGroup, Long createTimeSecond, int sequence);

    void updateDeviceTaskSubStateAll(String taskNo, String code, Long timestamp);

    /**
     * 操作数据库更新Subtask状态
     * @param dto
     * @param taskNo
     */
    void updateSubDeviceTaskStatus(SubTaskStatusDto dto, String taskNo);

    Integer getAtomicTaskGroupSeq(Task task, String atomicTaskNo);

    void batchAddDeviceSubTask(List<DeviceTaskSub> dtoList);

}
